﻿//Default.aspx.cs
////////////////////////////////////////
////////////////////////////////////////
//用户首页
////////////////////////////////////////
////////////////////////////////////////
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;

public partial class Default2 : System.Web.UI.Page
{
    CommonClass ccObj = new CommonClass();
    ArrayList orderList = new ArrayList();  //存放订单列表，存放的数据类型为order类。
    protected void Page_Load(object sender, EventArgs e)
    {
        //选择最热门，推荐，最新前三项显示。
        /*DataTable tbRecomend = 推荐商品列表
        DataTable tbNewest = 最新商品列表
        DataTable tbHot = 热门商品列表
        //分页绑定，只显示第一页的三项
        PagedDataSource ps1 = new PagedDataSource();
        ps1.DataSource = tbRecomend.DefaultView;    //绑定数据
        ps1.AllowPaging = true; //允许分布
        ps1.PageSize = 3;   //每页显示三项
        ps1.CurrentPageIndex = 0;
        this.dlRecommentGood.DataSource = ps1;
        this.dlRecommentGood.DataBind();    //与图中DataList控件dlRecommendGood绑定
        PagedDataSource ps2 = new PagedDataSource();
        ps2.DataSource = tbRecomend.DefaultView;    //绑定数据
        ps2.AllowPaging = true; //允许分布
        ps2.PageSize = 3;   //每页显示三项
        ps2.CurrentPageIndex = 0;
        this.dlNewestGood.DataSource = ps2;
        this.dlNewestGood.DataBind();   //与图中DataList控件dlNewestGood绑定
        PagedDataSource ps3 = new PagedDataSource();
        ps3.DataSource = tbRecomend.DefaultView;    //绑定数据
        ps3.AllowPaging = true; //允许分布
        ps3.PageSize = 3;   //每页显示三项
        ps3.CurrentPageIndex = 0;
        this.dlHotGood.DataSource = ps3;
        this.dlHotGood.DataBind();  //与图中DataList控件dlHotGood绑定
        */
    }
    protected void LinkButton5_Click(object sender, EventArgs e)
    {
        Response.Redirect("recommend.aspx");
    }
    protected void LinkButton4_Click(object sender, EventArgs e)
    {
        Response.Redirect("Newest.aspx");
    }
    protected void LinkButton6_Click(object sender, EventArgs e)
    {
        Response.Redirect("Bestseller.aspx");
    }
    protected void btnBuy_Click(object sender, EventArgs e)
    {
        if(Session["User"] != null) //用户若登录，则可购买商品
        {
            Button btnBuy = (Button)sender;
            string instruID = btnBuy.CommandArgument.ToString();    //从按钮CommandArgument属性值获得所购买商品的商品号。
            //判断Session对象中是否存在用于保存已购买商品的ArrayList对象orderList，若存在，则取出该对象，否则新建一个ArrayList对象orderList。
            if (Session["OrderList"] != null)
            {
                orderList = (ArrayList)Session["OrderList"];
            }
            else
            {
                orderList = new ArrayList();
            }
            DataTable dtGoodDetail = new DataTable();
            ///////////////////////////
            ///////////////////////////
            //通过instruID得到商品的详细信息，存放到DataTable dtGoodDetail中
            ///////////////////////////
            ///////////////////////////
            /*if (dtGoodDetail.Rows.Count > 0)
            {
                User user = (User)Session["User"];  //从Session中获取User对象。
                Order newOrder = new Order(user.UserID,dtGoodDetail.Rows[0]["instruID"].ToString(),.....);   //用指定的商品编号。。。初始数理实例化Order类，得到新对象，用于表示新购买的一个商品。
                //判断新购买的商品是否购买过，如果已购买过，则将表示该商品的Order对象中的Number属性加1.
                for(int i = 0; i<orderList.Count;i++)
                {
                    Order order = (Order)orderList[i];
                    if(order.ProductID == newOrder.instruID)
                    {
                        order.Number++;
                        Session["OrderList"] = orderList;
                        Response.Write("Cart.aspx");
                        return;
                    }
                }
                //若未购买过该商品，则将该商品的Order对象添加到ArrayList对象orderList中保存，并存入Session中。
                orderList.Add(newOrder);
                Session["OrderList"] = orderList;
                return;
            }
            */
        }
        else
        {
            Response.Write(ccObj.MessageBox("请先登录！","Default.aspx"));  //若未登录，则先登录
        }
    }
}
